Control system and code for a graphical plotting machine or like apparatus

ABSTRACT

A system for controlling a graphical plotting machine includes receiving output data from a computer&#39;&#39;s central processing unit arranged in a new code format. The new code format significantly reduces the quantity of data and the time required for the data&#39;&#39;s transmission to a graphical plotting system in obtaining a given plot from a graphical plotting machine. Incorporation of repeat and tacking control commands in the code structure makes this possible. A controller portion in the graphical plotting system having apparatus responsive to the repeat and tack control commands, receives and decodes the data and then transmits the appropriate commands to the graphical plotting machine.

United States Patent Hall, Jr. et al.

[541 CONTROL SYSTEM AND CODE FOR A GRAPHICAL PLO'I'IING MACHINE OR LIKE APPARATUS [72] Inventors: Thomas 0. Hall, Jr., Houston, Tex.;

} William G. Peck, Victor, NY.

[73] Assignee: Bausch & Lomb Incorporated,

Rochester, NY.

[22] Filed: June 27, 1969 [21] Appl. No.: 837,043

[52] US. Cl. ......235/6l.6 R, 33/1 M, 235/151 [51] Int. Cl. ..G06k 15/22, 606k 17/00 [58] Field of Search ..235/61.6 B,61.6 A, 61.6 R, 2

235/151 PL, 151; 33/1 M; 340/1725 [56] References Cited UNITED STATES PATENTS 3,434,113 3/1969 Wiley et a1 ..235/151 X 3,199,111 8/1965 Jennings et al ..235/151 PL 3,293,651 12/1966 Gerber et al. ..235/151 PL NOV. 14, 1972 Gardner et a1 ..235/61.6 A Trousdale ..235/151 PL Primary Examiner-Maynard R. Wilbur Assistant Examiner-Thomas J. Sloyan Attorney-Frank C. Parker and Saul A. Seinberg [57] ABSTRACT A system for controlling a graphical plotting machine includes receiving output data from a computers central processing unit arranged in a new code format. The new code format significantly reduces the quantity of data and the time required for the datas transmission to a graphical plotting system in Obtaining a given plot from a graphical plotting machine. Incorporation of repeat and tacking control commands in the code structure makes this possible. A controller portion in the graphical plotting system having ap paratus responsive to the repeat and tack control commands, receives and decodes the data and then transmits the appropriate commands to the graphical plotting machine.

11 Claims, 8 Drawing Figures PLOTTER ELECTRONICS CONTROLLER PATENTED 14 I972 3 7 O2 9 2 2 sum 1 or s PLOTT ER ELECTRONICS CONTROLLER FlG.l.

WILLIAM G. PECK INVENTORS SAUL A. SEINBERG ATTORNEY THOMAS O. HALL JR.

PAIENTEDHH v 3.702.922

SHEET 2 0f 5 FlG.4 (a) F 16L 4 (b) THOMAS O. HALL JR.

WILLIAM G. PECK INVENTORS FIG.4 (C) SAUL A. SEINBERG ATTORNEY PATENTEDuuv 14 I972 3.702.922 sum u or 5 Du J Lem R ET E APN T H E T .G.1V. w o m M P a w u am 5 ml. 3 7 l 3 Tw G Y I B F O 6 6 7 7 I l K 3 3 3 N 3 4 M r a 5 T Y 6 3 9C 4 g m 3 ll 3 P .4 X Y \4 2 5 (n 5 '4 l E 0 O 4 3 2 .4 6 A\3 N 8 0 L 4 I mm a 4 T m 0 3 4 PP V um i X X ,Y Y Z Z 4 A? 3. ZQQ q mg iv l 5 8 w 23 m mm 4 4 4 444 444,

SAUL A. SEINBERG ATTORNEY PATENTEDuuv 14 I972 DIRECTION OF TAPE MOTION SHEET 5 0F 5 FIG. 5

0| l I OI IO Hundreds l0842 Tens l0842 Uni1-s CBA842I l O I 00 ooooooo---oo OOOOOOO Reset Code Block Address Code Block Address Plot Command Noof Sfeps/Commond Record Gap (Check Character) Plot Command No. of Steps/Command Plot Command N of Stops/command Reset Code THOMAS'Q-HALL JR.

WILLIAM G. PECK INVENTORS BY SAUL A. ssmsene CONTROL SYSTEM AND com: FOR A GRAPHICAL PLo'rriNc MACHINE on LIKE APPARATUS BACKGROUND OF THE INVENTION I Field of the Invention This invention relates to a system and apparatus for controlling graphical plotting machines and like apparatus and, more particularly, to such a system wherein the quantity of data required to obtain a given plot and the time required for its transmission are significantly reduced.

2. Description of the Prior Art The fantastic, ever increasing speeds of modern digital processing systems have created severe problems for the designers of input/output systems and, in particular, for the designers of output systems which employ graphical plotter machines. Todays graphical plotters are fast to the eye, precise, capable of extreme be made, on-line? operation may not be objectiona- I ble. However, these are idealized examples of online operation and have not slowed the quest for a satisfactory answer to the problems of the computerplotter marriage. The advent of operation in the background did not actually improve the operating speed disparity between computer and plotter, but rather simulated such an improvement by a more judicious use of computer spare time. Even so, background operation required the use of additional equipment, additional operating time and additional, more complex programming. Even where such additional factors were not objectionable, it was still a necessary prerequisite for background operation to have a sophisticated and moderately expensive computer with which to work.

Another solution commonly employed to minimize the effects of the on-line computer-plotter marriage, called for a multiplicity or bank of plotters to be connected to the :computer. While this polygamous mode of operation resulted in more efficient computer usage, it required additional plotters and associated control circuitry, additional programming and programming time and, above all, a computer which was capable of such operation. The obvious increased expense and other drawbacks of this solution caused designers to look elsewhere. The area to which they next turned was that of ofl line operation.

In elf-line operation of graphical plotting machines, as the phrase implies, the data output by the computers central processing unit is fed via intermediary means to a plotter which is not physically or electronically connectedto the computer. In fact, for some operations, the computer and plotter may be and often are many miles apart. The most common intermediary means in use today is the single-purpose magnetic tape playback unit. In olT-line operation, the central processing unit egests data at a very rapid rate to a conventional magnetic tape unit where the data is recorded on magnetic tape. The tape is then physically removed from the conventional unit and transferred to the playback unit where the data is digested for the plotter at a much slower rate than the one at which it was transferred to the tape. The data or plotter commands are arranged on the tape in serial binary characters of seven or nine bit width, such as is described, for example, in US. Pat. No. issued to A. K. Jennings et al. 3,l99,l I l..The binary characters are further arranged in groups of three with each character representing plotter movement in the X, Y, or 2 directions, respectively. Unfortunately, while .off-line operation proved satisfactory in operation, it added a significant amount to the overall cost of the data processing system, the saving of computer time notwithstanding. Firstly, the cost of the playback unit were not quickly or readily recoverable by savings in computer time since thesev playback units were restricted to a singlepurpose use, for whichthere was too often a large amount of idle time. Secondly, minimum realizable tape speeds coupled with the higher modern packing densities produce more commands than the plotter can readily follow. As a result, commands which cause no plotter action are placed on the tape to effectively reduce packing density. This, in turn, creates vast lengths of tape and requires more computer input/output time than is desirable.

Later modifications in tape coding and associated software led to further systems, both off-line and on-line, for controlling graphical plotters which yielded some savings in computer time and tape usage. However, even these systems were not entirely satisfactory in effecting an efficient and rapid transfer of data from computer to plotter. Finally, the cost factor introduced in the ofi-line" mode of operation by the single-purpose magnetic tape playback unit had not been sufficiently reduced by an accompanying saving in computer time.

SUMMARY or THE INVENTION It is therefore an object of the present invention to provide a control system for graphical plotters or like apparatus wherein data developed by high speed digital data processing systems is efficiently and rapidly transferred to the plotter.

It is an additional object of the present invention to provide a control system for graphical plotters and like apparatus wherein character space on magnetic tape is greatly conserved.

It is another object of the present invention to pro vide an improved control system for graphical plotters and like apparatus wherein a set of commands can describe movements in directions other than multiples of 45.

It is still another object of the present invention to provide a control system for graphical plotters or like apparatus which is more efficient, more economical and easier to employ thanpresently available control systems.

It is a further object of the present invention to provide a control system for graphical plotters or like apparatus which is particularly suitable for remote batch processing.

It is also an object of the present invention to provide a control system for graphical plotters and like apparatus wherein various types of data can be efficiently and rapidly plotted to form solid lines, broken lines, characters and/or arbitrary symbols.

The foregoing and other objects of the present invention will become clearer with a reading of the accompanying portions of the specification and the several drawings, wherein there is described and shown a control system embodyingthe present invention.

Accordingly, a control system and code for a graphical plotting machine is provided whereby the output of a high speed digital data processing system is efficiently and rapidly digested by a graphical plotter. While the disclosed system is particularly suitable for an incremental graphical plotting machine and is so described, it can be employed to control other similar apparatus. This versatility is especially true of the code.

In off-line operation, the output data of the digital processing system, which is arranged in a novel code format to be described in greater detail hereinafter, is transferred to a suitable data storage device. From there, the data is physically transferred to a controller where it is decoded. The resultant plot commands are then transferred to the plotter itself, in proper sequence, as regulated by control commands within the code. In on-line operation, the output data of the digital processing system is transferred directly via the input/output channel to the controller for decoding. Operation in the background is also readily compatible with the present invention.

In the novel code disclosed herein, six bit characters are recorded on magnetic tape or an equivalent data storage device. Of the possible 64 combinations or binary characters resulting therefrom, l are reserved for the-classical incremental plotter movements +X, +Y, X, Y, +X+Y, +X -Y, X+Y, X-Y, +2 and Z or pen up and pen down. Of the remaining 54 binary characters, 16 are reserved for tacking movements wherein one of the above-noted incremental plotter movements is tacked onto one or more of the others. Step" characters or control commands are also provided for in the code so that any one of the above noted 24 plot commands can be repeated successively for a certain number of steps when two appropriate binary characters are coupled to each other. In all, 30 binary characters, each of which correspond to an equivalent arithmetical number of steps from one to 30, is provided for this purpose. Since it is probable that the number of incremental steps which are desired to be taken will exceed 30, the highest number available in the code, a repeat character is provided. The appearance in the code of the repea character or control command followed by the number of steps or amount of repetition desired will cause the succeeding plot command and step couplet to be repeated up to 30 times itself. Thus, by combining only four binary characters, it is possible to command the plotter to take a series of incremental steps which formerly required the combination of hundreds of binary characters and a corresponding loss in data transmission time and tape space. The majority of the remaining binary characters are employed for such tasks as block address location or searching commands and start, stop and reset control commands for the plotter.

The controller .which acts as an intermediary between computer and plotter serves as the brain center for the control system. In response to code command stimuli, by means of appropriate logic and associated electronics, the controller dictates plotter movement. The controller is equally compatible with the input/output channel of the computer for on-line" operation, remote batch operation terminals, or a magnetic tape playback unit or equivalent data storage device for off-line operation. Also, as noted above, the control system and the controller are compatible with operation in the background.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a simplified perspective view of a digital incremental graphical plotter which is especially suitable for operation in conjunction with a system embodying the present invention;

FIG. 2 is a graphical representation of the usual eight major vector plotter movements shown in solid lines and the possible tacking movements associated with each major vector movement shown in dashed lines according to the principles of the present invention;

FIGS. 3a and 3b are a combined block and logic diagram of a system embodying the present invention;

FIGS. 4(0), 4(1)) and 4(0) are illustrations of three sample plots, which have been plotted in accordance with the principles of the present invention; and

FIG. 5 is an illustration of a portion of magnetic tape coded in accordance with the principles of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now to the drawings wherein like reference numerals have been used in the several views to identify like elements, FIG. 1 illustrates a simplified perspective view of a digital incremental graphical plotter, generally designated by reference numeral 100. The plotter is any standard commercially available item which is particularly suitable for computer graphics. Currently available plotters of the type preferred, for example, include Model NumberDP-S, available from Houston Instrument Division of Bausch & Lomb Incorporated, which will quickly provide reproducible records of graphs, maps, charts and drawings, all annotated as desired, with either alphanumerics or arbitrary symbols or both.

A plot 102 is generated on suitable recording paper 104 by movement of a pen 106 thereacross and/or by movement of the recording paper 104 under the pen 106. In the majority of instances, as is the case for the preferred embodiment of the present invention described herein, the recording paper 104 and pen 106 are moved in incremental lengths of 0.01 inches relative to orthogonal axes X and Y. Pen 106 is additionally movable either upwardly or downwardly as required in an axis, the Z axis, which is mutually perpendicular to both the X and Y axes.

The pen 106 is secured, as shown in FIG. 1, to pen carriage 108 which is incrementally driven bidirectionally across the width, typically eleven inches, of the recording paper 104. Pen carriage 108 is driven by a stepper motor 110 and a pulley system, generally indicated by reference numeral 112. This yields movement in the Y axis. To achieve X axis movement, the recording paper 104 is incrementally moved bidirectionally under pen 106 by a stepper motor 114 and a gear train, generally indicated by reference numeral 116..The recording paper 104, in the particular type of plotter described, is moved from a rear station 118 to a forward station 120 and stored at each station by a fan-fold technique, as best seenin FIG. 1. The more conventional roll, chart and drum technique may also be employed to move the recording paper 104. Either technique is satisfactory and compatible with the present invention, although the fan-fold technique is preferred. Movement of the recording paper 104 from the rear station 118 to the front station 120 is termed a chart down movement and describes a positive X axis movement, +X. It follows, therefore, that a chart up movement of the recording paper 104 describes a negative movement, -X, in the X axis. The previously noted additional movement of pen 106 either upwardly or downwardly, +2 or Z respectively, is accomplished by activating or deactivating a solenoid (not shown) located within a pen housing 122.

Actuation of the incremental stepper motors 1 and 114 and the solenoid is accomplished by signals emanating from the plotter electronics, generally indicated by reference numeral 124. These signals are caused by the logic modules and associated electronic circuitry (see FIG. 3) of controller 126 in a manner to be explained hereinafter in greater detail. The direction of positive movement in each of the three axes is indicated by the grouping of the three mutual perpendicular sagittal lines,. generally indicated by reference numeral 128.

All plot lines are generated by using a series of incremental straight lines as segments of the longer lines. The incremental straight line segments can be drawn in either a positive or negative direction and parallel to either the X axis or the Y axis. The most common incremental line length for plotters of the type described is 0.01 inches, although other incremental lengths can be and are employed. Line increments can also be drawn at a 45 angle to either direction, as is shown in FIG. 2, by moving the paper and pen simultaneously at thesame rate. The incremental length of a line segment drawn at 45 is, of course, 0.01414 inches for the 0.01 inch incremental plotter. Combinations of these increments are then used to closely approximate any desired plot.

It is to be understood that the foregoing description of the plotter 100 and its manner of use is for explanatory purposes only. The plotter 100 forms no part of the present invention, although it is compatible therewith, its detailed operation being known to those having acquaintance with this field of art.

FIGS. 3a and 3b are is a combination block and logic diagram of a system which embodies the present invention. The operation and general use of the digital incremental graphical plotter 100 have been explained above. It is to be understood that the plotter electronics of FIG. 1 are incorporated within block 124 in FIG. 3b and'are, consequently, not separately shown in FIGS. 3a or 3b. The role of the plotter electronics 124 will be hereinafter explained in greater detail.

At the left of FIG. 3a is a block 300, which is representative of a digital data storage device,

preferably a magnetic tape playback unit. As will be recalled from the discussion relating to prior art systems of the type described herein, the use of single-purpose magnetic tapeplayback units in an off-line environment resulted in a pecuniary penalty only partially ofi set by a savings in computer time. Consequently, a multi-purpose playback unit is employed in the preferred embodiment of the present invention to assist in further reducing the above-noted penalty. Such a multi-purpose playback unit can be used as an output device from a digital data processing unit, receiving its input in the form of punched paper tape, magnetic tape, punched cards, or directly from the computer output channel. In'addition, it can be used as an input device for plotters, numeric control devices and other similar units. In fact, in its preferred form, the playback unit can also be used to record data from a keyboard onto the various output devices, allowing, in particular, its use to prepare input data for digital computers on magnetic tape. It is, therefore, apparent that employment of such a versatile multi-purpose playback unit reduces idle time since it can be used to perform a number of tasks. In addition, the multi-purpose playback unit used has its own control and error detecting logic thereby effecting further savings. The unit described above is a commercially available item, for example, Model Number 700 on its equivalent available from Mohawk Data Sciences Corporation. Interposed between playback unit 300 of FIG. 3a and the incremental plotter 124 of FIG. 3b, is the controller 126 of FIG. 1. At this point, it is worthwhile to note that by attaching an incremental-to-analog converter (not shown) to the controller 126 output, an analog plotter can be driven by the novel system disclosed herein. Other capabilities and advantages within the spirit and scope of the present invention will be noted or become apparent further on in the specification.

The highly efiicient novel code structure described and employed herein, permits a rather, significant reduction, typically by a factor of 10 or more, in the number of binary characters required to produce a given plot. When compared with systems which require one or even three characters for each incremental step taken by the plotter, the efficiency of the novel code structure disclosed herein becomes dramatically clear. For example, there is illustrated in FIGS. 4(a), 4(b) and 4(0), samples of three plots which have been drawn by an incremental graphical plotter controlled by the system and employing the instructional code described herein. The complexity of the sample plot is commensurate with the degree of complexity of plots likely to be encountered in actual practice. For this reason, the following I figures are credible, meaningful and representative. The sample plot consists of alphanumerics, long lines and short lines, broken and continuous, straight and angled. The conventional three character code structure heretofore used in the art required approximately 126,000 characters plus synchronization intelligence to describe this plot. The conventional single character code required 42,000 plus synchronization intelligence to describe this plot. The novel code structure disclosed herein required only 1280 characters.

In the novel code structure, a couplet of binary characters is used to describe the direction and length of a plot line, with the exception of the unitary up and down commands, +2 and -Z respectively, to the pen. These latter movements obviously require only one character each. The first binary character in the couplet preferably specifies direction and the second binary character specifies length, although the reverse sequence could be satisfactorily employed. The direction or plot command comprehends the usual incremental plotter movements of +X, +Y, --X, -Y, +X+Y, +X-Y, X+Y, -XY, and +2 and -Z or pen up and pen down. In addition, tacking plot commands, which allow the plotter to more efficiently describe lines lying at angles not on the major vectors, are provided. This tacking procedure is illustrated in FIG. 2 where the usual plot commands have been depicted as solid line segments together with their possible associated tacking plot commands, which are shown as dashed line segments..The' tacking plot commands will be fully discussed in a later paragraph.

In addition to the usual plot commands and the tacking plot commands, the code structure includes certain control commands. As stated above, two binary characters are mated to yield a couplet which defines the direction and total length of a plot line. Recalling that a plot line comprises a number of incremental steps, it is readily appreciated that the binary character following a particular plot command, the step command, merely specifies or defines the total number of incremental steps to be taken by the plotter. As is illustrated in the tabulation set forth below in Table I, the code structure provides 30 binary characters, each of which correspond to an equivalent arithmetical number of steps, from one to 30. In order to specify for example, a line along the X axis having a length of 0.27 inches, you need only couple the binary characters corresponding to the +X direction plot command the 27 step control command. Due to the limitation within the code structure of a maximum of 64 characters, provision was made for only 30 step or control commands, since other control commands are needed. It will be appreciated that the code can be expanded to provide for greater line lengths than 30 segments. However, since the code structure is particularly intended for use on seven or nine track magnetic tape and since at least one track, the seventh track, is reserved for parity indication, it appears that the 30 segment constraint is a practical limit. However, line lengths of over 30 incremental segments are possible by incorporation of a repeat command in the code structure. An exemplary tabula tion of the various code commands and their associated binary characters is set out in Table I.

As its name implies, the repeat command orders the plotter to repeat the immediately succeeding binary couplet. By mating a step control command to the repeat command, the order to repeat the immediately succeeding binary couplet can itself be repeated an appropriate number of times. In this manner, any particular plot command provided for in the code structure can be repeated as many as 900 times although only four binary characters or two binary couplets are used. The potential savings in tape space and computer time are readily apparent, especially in view of the fact that up to approximately 2,700 binary characters could have been required to specify or plot an equivalent line had prior art coding schemes been employed.

The tacking plot commands facilitate the plotting of lines which fall on other than one of the usual axes or major vectors. The eight major vectors are shown as solid lines, reference numerals 200 through 214 respectively, in FIG. 2. The possible tacking vectors, reference numerals 216 through 246 respectively, are shown as dashed lines in FIG. 2. Each tacking plot command has a corresponding binary character to which is coupled a step control command. The resultant tacking couplet when decoded for the plotter causes an initial plot to be made along or parallel to one of the eight major vectors, 200 through 214, for all but one of the number of steps specified in the step control command. The last step or line segment is then plotted along either of the mutually perpendicular vector components lying at +45 and -45 respectively, to that plot vector. Thus, for example, to an initial plot taken along or parallel to the +X axis 200 would be added or tacked the tacking plot command of either +X+Y 216 or +X-Y 218. For an initial plot taken along or parallel to the -XY axis 206 would be added the tacking plot command of either X 230 or -Y 228. In both exam pics, the tacking plot command causes a tacking plot of one line segment only in the specified direction to be added to the initial plot line segrnent(s). The total length of the initial plot is determined by the step control command being one segment shorter than the number of steps specified. It is interesting to note that there is no need to tack in any direction other than the two directions indicated by the rectangular vector components of the initial plot segments.

As with the other plot commands, a repeat control command and a step control command can be coupled to the tacking plot command couplet to obtain a rather lengthy line using only four characters. Thus, it is possible to plot lines of substantial length having heretofore unattainable slopes with a minimum number of binary characters.

A binary character is also provided for in the code structure to indicate that all the information following it defines a block address wherein is stored certain information which may or may not be intended for the plotter. Binary characters are also provided for a start plot command and a stop plot command, the latter also serving as'a reset command. A fill command, used to fill dead space in magnetic tape or other data storage devices, and a reserve command, which has been set aside to designate any appropriate control command which might be evolved in the future, complete the particular code structure disclosed herein. It should be noted that one track or channel in the code structure, the 13 channel, has been utilized as a quick indicator means for signaling that any binary character therein, equivalent to l or which is up", is a step command. It will be appreciated that many modifications could be made to the disclosed code structure without departing from the spirit and scope thereof. For this reason, the code structure tabulated below is merely exemplary of the versatility and potential of the present invention.

It is also worthy to note that the binary characters or bit patterns in the preferred form have been chosen in an order to correspond with bit patterns already in the computer as a result of the plotting algorithms. This yields an appreciable saving in programming time and release memory space for other uses. It is additionally novel code structure will perform just as efficiently in a 7 nine track format with little or no modification.

It will also be appreciated that the novel code format disclosed herein can be used in other environments besides on-line batch operation such as, for example, off-line batch operation, remote batch operation and time sharing operation. In addition, tacking and repeat commands could be used in conjunction with scanning devices such as, .for example, cathode ray tubes where graphical displays are displayed and edited.

TABLE I Binary Character Command Identification Conggiand 000001 +Y PLOT 000010 +Y tack +X+Y PLOT 00001 1 +Y+X tack +Y PLOT 000100 +Y+X PLOT 000101 +Y+X tack +X PLOT 0001 10 +X tack +X+Y PLOT 0001 1 1 +X PLOT 001000 +X tack +X-Y PLOT 001001 +X-Y tack +X PLOT 001010 +X-Y PLOT 00101 1 +X-Y tack Y PLOT 001 100 Y tack +X-Y PLOT 001 101 +Y PLOT 001 1 10 Y tack X-Y PLOT 001 1 1 1 X-Y tack Y PLOT 010000 X-Y PLOT 010001 X-Y tack X PLOT 010010 I X tack X-Y PLOT 01001 1 X PLOT 010100 X tack X+Y PLOT 010101 -X+Y tack X PUOT 0101 10 X+Y PLOT 0101 l 1 X+Y tack +Y PLOT 01 1000 +Y tack X+Y PLOT 01 1001 Pen up (-2) CONTROL 01 1010 Pen down (+Z) CONTROL 01 101 1 Block address CONTROL 01 1 100 Start Plot CONTROL 01 1 101 Repeat COMMAND 01 l l 10 Reserved 01 1 1 1 1 Stop Plot &- Reset COMMAND 100000 steps or fill STEP 100001 1 step STEP 100010 2 steps STEP 10001 1 3 steps STEP 100100 4 steps STEP 100101 5 steps STEP 1001 6 steps STEP 1001 1 1 7 steps STEP 101000 8 steps STEP 101001 9 steps STEP 101010 10 steps STEP 101011 11 steps STEP 101 100 12 steps STEP 101101 13 steps STEP 101110 14 steps STEP 101111 15 steps STEP 1 10000 16 steps STEP 1 10001 17 steps STEP 1 10010 18 steps STEP 1 1001 1 19 steps STEP 1 10100 20 steps STEP 1 10101 21 steps STEP 110110 22 steps STEP 110111 23 steps STEP 1 l 1000 24 steps STEP 111001 25 steps STEP 1 l 1010 26 steps STEP 1 1 101 1 27 steps STEP 1 1 1 100 28 steps STEP 111101 29 steps STEP 111110 30 steps. STEP As previously mentioned, the herein described system for controlling graphical plotting machines and like apparatus works in conjunction with a magnetic tape playback unit 300. Tape unit 300 is assumed to have been properly loaded with.a reel of tape (not shown) coded in accordance with the present invention. As illustrated in FIG. 3a, tape unit 300 is connected to the routing logic 302 by a cable 301 comprising leads 303-308. lnthe preferred embodiment and as shown in FIG-5, seven channel tape is employed with one of the channels, the C channel, being reserved-for parity use. The correlation between the remainder of the channels, as illustrated in FIG. 5, and leads 303-308 is set forth'below in Table 11.

TABLE 11 Lead Reference Numeral The tape unit preferred for use in the present system and most equivalent units employs a core memory (not shown) havinga capacity of from to binary characters, depending on the playback unit selected. Tape unit 300 has a core memory capacity of 80 characters, however any other convenient memory core character capacity would be acceptable. Consequently, each data block, in the preferred embodiment is of 80 character length. When loading a reel of tape in preparation to plot, the first data block must be manually loaded into the core memory to remove any data remaining from a preceding run. It wouldalso be possible to have the firstdata block entered automatically if that were desired. This feature, while not expressly provided for in the preferred embodiment, could be easily incorporated therein at an additional cost. It should be noted that during the entry of each data block into the memory core, a parity check of the data is made. If an error occurs, thetape is backspaced and read again. Should the error is detected again, the tape unit will shut down and flash some indication of error to the operator. The details of this portion of tape reader operation form no part of the present invention and are noted here merely for the sake of completeness.

In any event, the memory of tape unit 300 is now assumed to contain the first data block present on the loaded tape. To now ready the plotter to accept the remotely generated data, the block address number of the first data block to be plotted is entered in the START BLOCK switches 310. The block address of the last block of data to be plotted is entered in the STOP BLOCK switches 312. If only one data block is to be plotted, its address is entered in both block address switches. If an entire tape is to be plotted, either the last block address on that tape or 999 is entered in the STOP BLOCK switches 312. Both sets of switches 310 and 312 are preferably the thumbwheel type and are each connected to a nixie tube display 311 and 313 respectively, which visually indicate the block addresses entered to the operator. Other suitable switching and visual display means could be employed, if desired.

The controller 126 has two modes of operation, search mode and plot mode. Once the START BLOCK 310 and STOP BLOCK 312 switches have been appropriately set, the search mode is initiated by activating the SEARCH switch 314. Once in search mode, the tape units memory core is interrogated at high speed until the start block address set by the START BLOCK switches 310 is detected. At this point, the search mode is completed and the controller 126 is ready to cause plotting. Plotting would begin automatically at this point if a PLOT switch 315 had been switched at the same time that the SEARCH switch 314 was set. In the alternative, plotting will begin, once the search mode is completed, by switching the PLOT switch 315 after the starting data block has been detected. The sequence of operation of the search mode is as follows.

When the SEARCH switch 314 is actuated, the routing logic 302 begins to interrogate the tape reader 300. At the same time, the command decode logic 318 is set into its proper state for the search mode. As shown in Table I, there is a specific binary character which corresponds to a block address code or control command. This particular binary character informs the command decode logic 318 that a block address will follow immediately thereafter. As shown in FIG. 5, each block address code is followed by three binary characters which correspond to the units, tens and hundreds digits of the block address. The routing logic 302, which differentiates between a control command or plot command and the step commands, forwards the block address code via lines 303a to 307a to the command decode logic 318.

An inspection of Table I will reveal that only the binary character step commands have a l in their corresponding B channel. The binary character plot and control commands, on the other hand, have a in their corresponding B channels. The routing logic is designed to take advantage of this difference by forwarding all plot and control commands to the command decode logic 318 via lines 303a through 307a and all step commands to the step count memory register 324 via lines 303k through 307b.

' When the block address code is received by the command decode logic 318, it sets line 319 appropriately to inform the block address search and comparison logic 320 that a block address will immediately follow. As a result, the binary numbers which correspond to the units, tens and hundreds digits of the block address appearing on lines 303c through 3060 are gated in to the block address search and comparison logic 320. Also fed thereto is the address of the starting block for the plot to be made via line 321 and the address of the last block via line 322. A comparison of the starting block address and the block address just detected is made. If the detected block address is less than the actual starting block address, the advance line. 323 is set to cause the tape unit control logic 330 to force further binary characters out of the memory core. This sequence is repeated until the starting block address is finally detected, at which time the block address search and comparison logic 320 signals the command decode logic 318 that the search is complete via the search complete line 316. This ends the search mode and sets the command decode logic 318 for the plot mode.

The tape unit control logic 330 controls the flow of information to the system. When the search mode is initiated, a signal is sent down line 336 to the tape unit control logic 330 which causes it to send a signal to the tape units memory core via line 340. This signal causes a binary character to be advanced from the memory core. The command decode logic 318 also uses line 336 to advise the tape unit control logic 330 that a command received by it has been decoded and that the controller 126 is now ready for the next succeeding binary character. As the next binary character advances from the memory, the tape unit forwards an appropriate signal via line 339 to inform the tape unit control logic 330 that the binary character has been advanced from the memory as requested. When the memory is exhausted of all the binary characters stored therein, appropriate circuitry within the tape unit 330 replenishes the memory automatically. While doing so it inhibits via line 341 the tape unit control logic 330 so that the previously noted parity check can be performed. if no error is found, the inhibit signal is removed. The inhibit signal will not be removed, however, if an error is detected. The block address search and comparison logic 320 signals the tape unit control logic 330 via line 323 that it has not yet found the starting block address. As a result, further binary characters are sequentially caused to be advanced from the tape units memory in response to appropriate signals on line 323. Until the starting block address, as set by the operator, has been detected. The controller 126 is now ready to initiate and control plotting.

Controller 126 is now in the plot mode and will start plotting, clue to the action of the command decode logic 318, if the plot switch 315 had been actuated at the same time as the search switch 314 or as soon as plot switch 315 is actuated after the starting block address has been detected. In either case, a start plot signal is forwarded down line 407 to bistable flip-flop 342 in response to the start plot binary character which follows the block address, as illustrated in FIG. 5. This causes a switch of states on theoutput line 343 of the flip-flop 342, which also appropriately sets line 415, one input to gate 348 and the plot clock control and register 326.

Following the start plot command on the tape is either a plot command or a repeat command. The exemplary sequence illustrated in FIG. 5 shows that a plot command follows the start plot command as hereinafter explained. The repeat command will be discussed thereafter. The plot command is forwarded by the routing logic 302 via lines 303a through 307a to the command decode logic 318. There the command is decoded and the appropriate output line of the group 400 through 408 of the command decode logic 318 will receive a signal which reflects the command received. As a matter of proper coding practice, it is desirable to order the pen upor to command a Z movement as the first plot command. This insures that the initial starting point of the upcoming plot is reached without the pen making an unwanted mark on the recording paper 104. Thus, line 404 is switched to reflect the pen up command. A signal is also sent down line 336 to indicate that the command received by the command decode logic has been received and decoded. This command received and decoded signal on line 336 is sent each time a command is, in fact, received and decoded. Consequently, this particular step in the decode sequence need not be discussed further, although it is to be understood that such a signal is sent each time a command is decoded.

' When the pen up signal is sent down line 404, it is fed to both one input of gate 372 and one input of the pen up-pen down timing circuit 332. This circuit, which allows rapid upward or downward movement of the pen independent of the controllers logic speed, inhibits further plotting action by sending an inhibit signal out line 353 to the tape unit control logic 330 and the plot clock control and register 326. As a result, the pen can be rapidly moved while the remainder of the controller 126 is held quiescent. A similar sequence occurs when the pen down or 2 command is received, line 405 being used to convey the appropriate signal in this instance. v

After the pen 106 has been lifted, as it will be in the code vwhenever a plot is not desired, the appropriate plot command is received by the command decode logic which causes paper 104 and/or lateral pen 106 movement, thereby moving pen 106 to the starting coordinates of the plot to be made. Thus, this plot command causes the command decode logic to send an appropriate signal down one of its output lines 400 through 412. For the sake of this discussion, it is assumed thatthe plot command is the binary character corresponding to +X, +Y and that the starting point of the plot is fifteen steps or increments removed from the starting point at which the pen 106 had been. Therefore, after the pen up command, there follows a binary couplet, the first character of which specifies the count or number of steps and the second character of which specifies direction. The controller 126 reacts to this couplet in the following manner.

The .step command is forwarded to the step count memory register 324 via lines 303b through 307b where it remains until cleared by the next following step command. It then passes via lines 303b through 307b after setting the memory register to the plot clock control and register 326. When the step command is received by the plot clock control and register, it outputs an appropriate signal on line 416 which causes gate 348 to output a signal to the plot clock 350 via line 352 which turns the plot clock 350 on. The plot or direction command which follows the step command has been forwarded during this time to the. command decode logic 318 which causes output lines 400 and 402 to be appropriately set, reflecting the +X, +Y plot command. Almost simultaneously, the plot clock 350 begins to clock out pulses at a predetermined uniform rate. The pulses outputed by plot clock 350 are forwarded via lines 351 and 414 to X gate 360, Y gate 361, gate 372, gate 374 and the plot clock control and count register 326. When the clock inputs to gates 372 and 374 are set by the clock pulses, one of these gates will switch depending upon the presence or absence of signal on lines 404 and 405. In this case, gate 372 will switch since line 404 has a signal thereupon reflecting the previous pen up command. One input to gates 364, 366, 368 and 370 is set by the outputs of X gate 360 and Y gate 361 which are always up in the plot mode, unless a tacking plot command is decodedas will be hereinafter explained. Gates 364 and 368, both of which now have their inputs up, pass the +X, +Y command to the plotter 124. The plotter electronics 124 will cause the appropriate stepping motors to move the pen in the commanded direction. The plot clock 350 output to the plot clock control and register 326 causes the register to count backwards one unit or step for each clock pulse received. When the register 326 reaches zero on the last step, it removes the signal on line 416, which switches gate 348, shutting off the plot clock 350. The plot clock control and register 326 also outputs a last step signal on lines 333 and 413 simultaneously with the receipt of the last clock pulse. Finally, a steps complete signal is sent via line 354 to resume interrogation of the memory by the tape unit control logic 330. For the above-given example, the plot clock 350 is turned off after 15 steps in the +X, +Y direction have been taken. This sequence can be repeated with pen up or pen down in any of the possible plot directions for as many increments as are needed.

If the particular plot command were required to have been 450 steps long, for example, rather than the 15 noted above, the repeat command would be'used since, as will be recalled, the code format only provides for a maximum of 30 steps. in such an instance, controller 126 operates in the following manner. The repeat command is received by the routing logic 302 and forwarded via lines 303a to 3070 to the command decode logic 318. Receipt of this particular command only causes a signal to be sent via line 406 from the command decode logic 318 to the plot clock control and register 326 and a repeat control and count register 328. This repeat signal inhibits the plot clock register 326 and also gates open the repeat register 328 so that it will accept the immediately following repeat count. it will be recalled that the repeat command is followed by a step or repeat count which specifies the number of times a plot command and its associated step command are to be repeated. It will be appreciated that 450 steps can be specified in a number of ways, but in view of the previous example shall be specified now as a step command of 15 and a repeat command of 30. Consequently, immediately following the binary character representing the repeat command is one calling for 30 steps. This 30 step command is initially loaded into the step count memory register 324, as previously explained, and then forwarded to the plot clock control and register 326 where the repeat signal inhibits the register and also gates open the repeat control and count register 328 to accept the 30 step binary character. The command decode logic 318 upon receipt of the following plot command resets line 418 thereby enabling the plot clock control and register 326 and shutting off access therefrom to the repeat control and count register 328. This plot command also, as previously discussed, sets the appropriate output line, in this case lines 400 and 402, of the command decode logic 318. The immediately following step count binary character of l 5 is routed to the step count register memory 324 and then the plot clock control and register 326. Since it is not inhibited by line 418, the plot clock control and register causes the plot clock to start switching the appropriate plotter gates, again gates 364 and 368, to cause the command plot to occur. At the last of the 15 plot step commands, the last step signal is forwarded via line 333 to the repeat control and count register 328. This signal counts down register 328 by one step and also signals the step count memory register 324,

which retains the 15 step count until reloaded, to resupply the plot clock control and register 326 .with the 15 step count binary character. Thus, the 15 step or incremental line in the +X, +Y direction is repeated 30 times for a total of 450 steps in the specified direction. It should be noted that the plot direction signals outputed on lines 400 to 405 by the command decode logic 318 remain in their assigned state until the next plot command is received. This, of course, makes the repeat command easy to implement since the plot command to be repeated for the specified number of times need not be itself repeated after its initial entry into controller 126.

Plot clock 350, of a type well known in the art, is adjustable so that the intervals between its output pulses can be either increased or decreased. This feature is especially helpful during a repeat command where relatively long plot lines in one direction are to be made. By activating a slewing switch (not shown) on the front panel of controller 126, line 417 is automatically activated for repeat command periods to increase the plot clock 350 rate and thereby speedup the plotting rate. The clock rate is likewise decreased at the end of the repeat period. It is also possible, if desired, to manually adjust the clock rate via the slew up-slew down line 417.

If a tacking command is detected by the command decode logic 318, all but the very last step of the step counts coupled to this command are performed as previously described for the initial example notedabove, except that one of lines 409 to 412 is switched in accordance with the tacking command thereby controlling X gate 360 and Y gate 361. This causes the tacking control logic 344 to shut down X gate 360 or Y gate 361 for all but the last step of the command. An example of the tacking operation is as follows. It is supposed that a +X +Y plot command is coupled to a 15 step count as in the previous examples, except that in this case the +X +Y command is a tacking command. It is further supposed that +X is the final step to be tacked to the +X +Y plot. Output lines 400 and 402 are again switched up to set the inputs to gates 364 and 368 appropriately. For the first 14 steps, the X and Y gates, 360 and 361 respectively, are also set appropriately so that gates 364 and 368 are switched on allowing signal flow to the plotter 100. On the fifteenth or last step, the tacking control logic 344, in response to the last step signal received on line 413, shuts down Y gate 361 which turns off gate 368 resulting in a final incremental plot of +X only. If desired, the tacking plot command and its associated step count command can be coupled to a repeat and count couplet so that the tacking command can be repeated a number of times without repeating the tacking command each time. To make the tacking procedure clearer another example thereof is offered. Suppose that this time a -X plot is contemplated for 15 steps and suppose further that -X +Y is to be tacked thereto as the final step. Again, for the first 14 steps, the controller 126 operates generally as previously described. This time output lines 401 and 402 of the command decode logic are appropriately switched. However, for the first 14 steps, only X gate 360 is left switched on by the tacking control logic 344 so that for this period only +X is plotted. On the fifteenth or last step, the tacking control logic 344, in

response to the last step signal on line 433 outputed by the plot clock control and register 326, gates on Y gate 361. This switches on gate 368, in addition to gate 364 already on, for the last step of the plot. Again, as with the other example of tacking, this command can be repeated if desired.

In general, tacking is accomplished by switching all the outputs of the command decode logic 400 through 403 in accordance with the plot direction of the initial and the tacked increments for the entire count and then gating the X and Y gates 360 and 361, via lines 409-412, on or off, as required. Thus, in the first example, lines 400 and 402 were switched up for 15 counts, X gate 360 switched on for 15 counts and Y gate 361 switched on for only 14 counts. in the second example, lines 401 and 402 were switched up for the entire count of 15 increments, X gate 360 is switched on for the entire count, but Y gate 361 is switched on only for the last count when needed. It will be appreciated that the roles of output lines 400 through 403 and X and Y gates 360 and 361 could be easily interchanged. However, it has been found to be more economical to adopt and implement the logic procedure explained. Either logic scheme will give satisfactory results.

As illustrated in FIG. 3b, a number of buffer amplifiers 365, 367, 369, 371, 373 and 375 are interposed between their respective corresponding plot gates 364, 366, 368, 370, 372 and 374 and the plotter 124. They serve to raise the level of the signal received from the plot gates to one compatible with the requirements of the plotter. Consequently, their amplification duties, if any, are a direct function of the particular type of plotter used.

During the plotting mode, whenever they appear on the tape, block address codes continue to cause the command decode logic to gate the immediately following block addresses into the block address search and comparison logic 320. These block addresses are continually compared to the stop block address present on line 322. During each stop block address comparison, the plot clock 350 is inhibited by means of an appropriate signal sent down line 323 to the plot clock control and register 326. When the address of the stop block is reached or the last block on the tape if 999 were originally switched in as the stopping block, a last block signal is forwarded on line 316 to the command decode logic 318. This causes a signal to be sent on the stop plot line 408 to flip-flop 342 causing it to switch and turning off gate 348 which halts all plotting, if for some reason it is still continuing. At the same time, a stop signal is forwarded via line 336 to the tape unit control logic'330 which halts the interrogation of the memory. The tape unit control also inhibits the routing logic 302 via a signal on line 338. Conversely, the routing logic is enabled by line 338 as soon as controller 126 is again set into its search or plot mode.

While the invention has been described by means of specific examples, and in a specific embodiment, it should be noted and understood that many obvious modifications thereof are possible and will occur to those skilled in the art without departing from the spirit and scope of the invention.

We claim:

1. An apparatus for controlling a graphical plotting machine to plot a graphical representation as a function of digital control characters, digital directional plot characters, digital incremental step characters and digital tacking characters, the digital tacking characters comprising digital directional plot and incremental step characters, collectively arranged to represent the graphical representation, comprising:

first circuit means for receiving the digital characters and including means for generating electrical signals as a function of the digital characters;

second circuit means receiving the electrical signals generated by the first circuit means for segregating the electrical signals corresponding to the digital control characters, the digital directional plot characters, the digital incremental step characters and the digital tacking characters;

third circuit means receiving the electrical signals corresponding to the digital directional plot characters segregated by the second circuit means coupled to the graphical plotting machine for readying the graphical plotting machine for plotting in plot directions corresponding to the segregated, digital directional plot characters;

fourth circuit means coupled to the third circuit means receiving the electrical signals, corresponding to the digital incremental step character's segregated by the second circuit means, for generating a train of equispaced electrical pulses corresponding in number to the number of incremental steps specified by the segregated digital incremental step characters and including means gating the generated pulses on the third circuit means for each pulse generated to enable the graphical plotting machine to plot in the direction specified by the digital directional plot characters for the number of incremental steps specified by the digital incremental step characters;

fifth circuit means receiving the last pulse generated by the fourth circuit means for inhibiting as a function of the last pulse the generation of additional pulses in the last direction of plot;

sixth circuit means receiving the segregated electrical signals corresponding to the digital control characters, the sixth circuit means coupled to the first, second, third and fourth circuit means for enabling and disenabling one or more of the first, second, third and fourth circuit means as a function of electrical signals corresponding to the digital control signals; and

seventh circuit means coupled to the second, third and fourth circuit means receiving the segregated electrical digital tacking signals and the last of the pulses generated by the fourth circuit means for gating on the third circuit means each time the last pulse corresponds to the digital incremental step character associated with an electrical digital tacking signal, including means responsive to the last mentioned gating to control the graphical plotting machine to plot in the direction specified by the corresponding digital tacking character for the last incremental step of the number of incremental steps specified by the digital incremental step character corresponding to the last mentioned digital tacking character.

18 2. Apparatus for controlling a graphical plotting machine to plot a graphical representation, comprising:

a magnetic tape playback system including a tape coded with digital control characters, digital directional plot characters, digital incremental step characters, digital repeat characters associated with any digital incremental step character, and digital tacking characters, the digital tacking characters comprising digital directional plot and incremental step characters, the digital characters collectively representing data for a plot of the graphical representation to be made, the digital characters arranged on said tape in a predetermined sequence of data blocks, each of said data blocks being identifiable by a corresponding digital block address character on said first circuit means receiving the coded digital characters for generating electrical signals as a function of the digital characters and for incrementally adapparatus;

second circuit means in the controller responsive to said electrical signals generated by the first circuit means for identifying a predetermined block address;

third circuit means in the controller receiving said electrical signals generated by the first circuit means for segregating the electrical signals corresponding to said digital control characters, said digital directional plot characters, sad digital tacking characters, and said digital repeat characters from the electrical signals corresponding to said digital incremental step characters in the data block corresponding to the predetermined block address;

fourth circuit means in the controller receiving the segregated electrical signals corresponding to said digital control characters, digital directional plot characters, digital tacking characters and digital repeat characters for decoding and segregating said electrical signals;

fifth circuit means in the controller responsive to the electrical signals corresponding to the digital directional plot characters decoded by said fourth circuit means, the fifth circuit means being coupled to said graphical plotting machine for readying it to plot in the direction specified by said decoded electrical signals of the digital directional plot characters; I

sixth circuit means in the controller coupled to said fifth circuit means receiving the segregated electrical signals corresponding to said digital incremental step characters for generating, as a function of the digital incremental step characters, a train of equispaced pulses corresponding in number to the number of steps specified by each of said segregated electrical signals of each of the digital incremental step characters, said pulses gating on said fifth circuit means each time a pulse is generated so that said graphical plotting machine plots in the direction specified by the electrical signals of the respective decoded digital directional plot character for the number of incrementalsteps specified by said digital incremental step character;

seventh circuit means in the controller receiving the last of said pulses generated by the sixth circuit means for inhibiting the generation of further pulses as a function of said last pulse;

eighth circuit means in the controller receiving the decoded electrical signals corresponding to said segregated electrical signals of the digital control characters coupled to said first, second, third, fifth and sixth circuit means for enabling and disenabling at least one of said first, second, third, fifth and sixth circuit means as a function of said decoded digital control electrical signals;

ninth circuit means coupled to the fourth, fifth and sixth circuit means receiving the decoded and segregated electrical digital tacking signals and the last of the pulses generated by the sixth circuit means for gating on the fifth circuit means each time the last pulse corresponds to the digital step character associated v with a decoded electrical digital tacking signal, to control the graphical plotting machine to plot in the direction specified by the corresponding digital tacking character for the last incremental step of the number of incremental steps specified by the digital incremental step character corresponding to the last mentioned digital tacking character; and

tenth circuit means coupled to said fourth and sixth circuit means receiving said decoded electrical signals corresponding to the digital repeat characters and receiving said last of said pulses from the sixth circuit means for causing said sixth circuit means to repeat said train of equispaced pulses as a function of said last of said pulses, the repeat of said pulse train being a function of the number of incremental steps specified by said digital incremental step character associated with said digital repeat character.

3. The apparatus, as defined in claim 2, wherein the tenth circuit means causing the sixth circuit means to repeat the train of equispaced pulses as a function of the last of the pulses wherein the repeat of the pulse train corresponds in number of the number of incremental steps specified by a digital incremental step character associated with the digital repeat character.

4. Apparatus for controlling a graphical plotting machine to plot a graphical representation, comprising:

a. a magnetic tape playback system including a tape coded with digital control characters, digital directional plot characters, digital incremental step characters and digital tacking characters, the digital tacking characters comprising digital directional plot and incremental step characters, collectively representing data for a plot of the graphical representation to be made, the digital characters arranged on said tape in a predetermined sequence of data blocks, each of said data blocks being identifiable by a corresponding digital block address character on said tape;

b. first circuit means receiving the coded digital characters for generating electrical signals as a function of the digital characters and for incrementally advancing the electrical signals corresponding to said digital characters into a controller included in the apparatus;

0. second circuit means in the controller responsive to said electrical signals generated by thefirst circuit means for identifying a predetermined block address;

d. third circuit means in the controller receiving said electrical signals generated by the first circuit means for segregating the electrical signals corresponding to said digital control characters, said digital directional plot characters and said digital tacking characters from the electrical signals corresponding to said digital incremental step characters in the data block corresponding to the predetermined block address;

e. fourth circuit means in the controller receiving the segregated electrical signals corresponding to said digital control, digital directional plot and digital tacking characters for decoding and segregating said electrical signals;

f. fifth circuit means in the controller responsive to the electrical signals corresponding to the digital directional plot characters decoded by said fourth circuit means, the fifth circuit means being coupled to said graphical plotting machine for readying it to plot in the direction specified by said decoded electrical signals of the digital directional plot characters;

g. sixth circuit means in the controller coupled to said fifth circuit means receiving the segregated electrical signals corresponding to said digital incremental step characters for generating, as a function of the digital incremental step characters, a train of equispaced pulses corresponding in number to the number of steps specified by each of said segregated electrical signals of each of the digital incremental step characters, said pulses gating on said fifih circuit means each time a pulse is generated so that said graphical plotting machine plots in the direction specified by the electrical signals of the respective decoded digital directional plot character for the number of incremental steps specified by said digital incremental step character;

h. seventh circuit means in the controller receiving the last of said pulses generated by the sixth circuit means for inhibiting the generation of further pulses as a function of said last pulse;

i. eighth circuit means in the controller receiving the decoded electrical signals corresponding to said segregated electrical signals of the digital control characters coupled to said first, second, third, fifth, and sixth circuit means for enabling and disenabling at least one of said first, second, third, fifth and sixth circuit means as a function of said decoded digital control electrical signals; and

j. ninth circuit means coupled to the fourth, fifth and sixth circuit means receiving the decoded and segregated electrical digital tacking signals and the last of the pulses generated by the sixth circuit means for gating on the fifth circuit means each time the last pulse corresponds to the digital step character associated with a decoded electrical digital tacking signal, to control the graphical plotting machine to plot in the direction specified by the corresponding digital tacking character for the last incremental step of the number of incremental steps specified by the digital incremental step character corresponding to the last mentioned digital tacking character.

5. The apparatus according to claim 4 wherein some of said digital control characters comprise digital repeat characters for each of which there is an associated digital incremental step character and wherein said fourth circuit means after decoding and segregating said electrical signals corresponding to said digital control characters, the digital directional plot characters, and the digital tacking characters further segregates and decodes said electrical signals corresponding to said digital repeat characters therefrom, said apparatus further comprising:

tenth circuit means coupled to said fourth and sixth circuit means receiving said decoded electrical signals corresponding to the digital repeat characters and receiving said last of said pulses from the sixth circuit means for causing said sixth circuit means to repeat said train of equispaced pulses as a function of said last of said pulses, the repeat of said pulse train being a function of the number of incremental steps specified by said digital incremental step character associated with said digital repeat character.

6. The apparatus, as defined in claim 5, wherein the tenth circuit means causing the sixth circuit means to repeat the train of equispaced pulses as a function of the last of the pulses wherein the repeat of the pulse train corresponds in number of the number of incremental steps specified by a digital incremental step character associated with the digital repeat character.

7. A method of coding and arranging digital characters in a bit stream for processing by a plot controller as plot, step, tacking and control digital commands for controlling a plotter to plot a graphical representation by plotting of increments in on-line, off-line and remote environments, comprising the steps of:

a. assigning a different digital character of n bit width wherein n is a positive integer in a bit stream for each of a number of plot commands for orthogonal directions +X, +X, +Y, Y and combination directions +X+Y, +X-Y, --X+Y and X-Y, each plot command corresponding to one of the directions; assigning still other digital characters of n bit width in a bit stream for each'of a number of step commands, each step command corresponding to a fixed number of increments;

. coupling in a bit stream any one of the digital characters specifying a plot command to any one of the digital characters specifying a step command to produce a digital plot couplet which defines a line having a fixed direction and length;

. assigning still other digital characters of n bit width in a bit stream for each of a number of tacking commands, each tacking command corresponding to at least two different directions in which an increment can be plotted, the two different directions being within substantially ninety degrees of each other; e. coupling in a bit stream any one of the digital characters specifying a tacking command to any one of the digital characters specifying a step command except the digital character specifying a step of unity to produce a digital tacking couplet which defines a tacking line having at least a first fixed direction with a length which is a function of the respective step command and a second fixed direction having a length of at least one increment;

f. assigning still other digital characters of n bit width in a bit stream for each of a number of control commands, each control command specifying a different capability of the plotter for producing the graphical representation; and

g. arranging the digital plot couplets, the digital tacking couplets and the digital characters corresponding to the control commands in a bit stream for processing by the plot controller according to the'nature of the graphical representa tion to be plotted and the plotter for producing the graphical representation.

8. The method according to claim 7 which comprises before the arranging step thereof, the additional steps of:

a. assigning a digital character of n bit width in a bit stream to arepeat command for coupling with other commands to repeat the coupled command;

. coupling in a bit stream the digital character specifying the repeat command to one of the digital characters specifying a step command to produce a digital repeat couplet which defines a repeat command and the number of steps it is to be repeated; and I rearranging in a bit stream the digital couplets so that a digital repeat couplet is mated to at least one of the digital couplets to cause all such mated digital couplets to be repeated for the specified number of steps in the respective digital repeat couplet.

9. The method according to claim 8 which comprises the additional step of coding in a bit stream the same one of one of the bits in each respective character to indicate whether a digital character specifies a plot,

tacking or step command.

10. A method of coding and arranging digital characters in a bit stream for processing by a plot controller as plot, step, repeat and control digital commands for controlling a plotter to plot a graphical representation by plotting of increments in on-line, off-line and remote environments, comprising the steps of:

a. assigning a different digital character of It hit width wherein n is a positive integer in a bit stream for eachof a number of plot commands for orthogonal directions +X, X, +Y, Y and combination directions +X+Y, +XY, X-l-Y and X-Y, each plot command corresponding to one of the directions;

. assigning still other digital characters of n bit width in a bit stream for each of a number of step commands, each step command corresponding to a fixed number of increments;

. coupling in a bit stream any one of the digital characters specifying a plot command to any one of the digital characters specifying a step command to produce a digital plot couplet which defines a line having a fixed direction and length;

. assigning a digital character of n bit width in a bit stream to a repeat command for coupling with other commands to repeat the coupled command;

e. coupling in a bit stream the digital character specif. mating in a bit stream a digital repeat couplet to at least one of the digital plot couplets to cause all such mated digital plot couplets to be repeated for the number of steps specified in the digital repeat couplet;

. assigning still other digital characters of n bit width to each of a number of control commands, each control command specifying a different capability of the plotter for producing the graphical representation; and

h. arranging the digital plot couplets, the mated digital plot couplets and the digital characters corresponding to the control commands in a bit stream for processing by the plot controller according to the nature of the graphical representation to be plotted and the plotter for producing the graphical representation.

11. The method according to claim 10 which comprises the additional step of coding in a bit stream the same one of one of the n bits in each respective character to indicate whether a digital character specifies a plot, step or repeat command. 

1. An apparatus for controlling a graphical plotting machine to plot a graphical representation as a function of digital control characters, digital directional plot characters, digital incremental step characters and digital tacking characters, the digital tacking characters comprising digital directional plot and incremental step characters, collectively arranged to represent the graphical representation, comprising: first circuit means for receiving the digital characters and including means for generating electrical signals as a function of the digital characters; second circuit means receiving the electrical signals generated by the first circuit means for segregating the electrical signals corresponding to the digital control characters, the digital directional plot characters, the digital incremental step characters and the digital tacking characters; third circuit means receiving the electrical signals corresponding to the digital directional plot characters segregated by the second circuit means coupled to the graphical plotting machine for readying the graphical plotting machine for plotting in plot directions corresponding to the segregated digital directional plot characters; fourth circuit means coupled to the third circuit means receiving the electrical signals, corresponding to the digital incremental step characters segregated by the second circuit means, for generating a train of equispaced electrical pulses corresponding in number to the number of incremental steps specified by the segregated digital incremental step characters and including means gating the generated pulses on the third circuit means for each pulse generated to enable the graphical plotting machine to plot in the direction specified by the digital directional plot characters for the number of incremental steps specified by the digital incremental step characters; fifth circuit means receiving the last pulse generated by the fourth circuit means for inhibiting as a function of the last pulse the generation of additional pulses in the last direction of plot; sixth circuit means receiving the segregated electrical signals corresponding to the digital control characters, the sixth circuit means coupled to the first, second, third and fourth circuit means for enabling and disenabling one or more of the first, second, third and fourth circuit means as a function of electrical signals corresponding to the digital control signals; and seventh circuit means coupled to the second, third and fourth circuit means receiving the segregated electrical digital tacking signals and the last of the pulses generated by the fourth circuit means for gating on the third circuit means each time the last pulse corresponds to the digital incremental step character associated with an electrical digital tacking signal, including means responsive to the last mentioned gating to control the graphical plotting machine to plot in the direction specified by the corresponding digital tacking character for the last incremental step of the number of incremental steps specified by the digital incremental step character corresponding to the last mentioned digital tacking character.
 2. Apparatus for controlling a graphical plotting machiNe to plot a graphical representation, comprising: a magnetic tape playback system including a tape coded with digital control characters, digital directional plot characters, digital incremental step characters, digital repeat characters associated with any digital incremental step character, and digital tacking characters, the digital tacking characters comprising digital directional plot and incremental step characters, the digital characters collectively representing data for a plot of the graphical representation to be made, the digital characters arranged on said tape in a predetermined sequence of data blocks, each of said data blocks being identifiable by a corresponding digital block address character on said tape; first circuit means receiving the coded digital characters for generating electrical signals as a function of the digital characters and for incrementally advancing the electrical signals corresponding to said digital characters into a controller included in the apparatus; second circuit means in the controller responsive to said electrical signals generated by the first circuit means for identifying a predetermined block address; third circuit means in the controller receiving said electrical signals generated by the first circuit means for segregating the electrical signals corresponding to said digital control characters, said digital directional plot characters, sad digital tacking characters, and said digital repeat characters from the electrical signals corresponding to said digital incremental step characters in the data block corresponding to the predetermined block address; fourth circuit means in the controller receiving the segregated electrical signals corresponding to said digital control characters, digital directional plot characters, digital tacking characters and digital repeat characters for decoding and segregating said electrical signals; fifth circuit means in the controller responsive to the electrical signals corresponding to the digital directional plot characters decoded by said fourth circuit means, the fifth circuit means being coupled to said graphical plotting machine for readying it to plot in the direction specified by said decoded electrical signals of the digital directional plot characters; sixth circuit means in the controller coupled to said fifth circuit means receiving the segregated electrical signals corresponding to said digital incremental step characters for generating, as a function of the digital incremental step characters, a train of equispaced pulses corresponding in number to the number of steps specified by each of said segregated electrical signals of each of the digital incremental step characters, said pulses gating on said fifth circuit means each time a pulse is generated so that said graphical plotting machine plots in the direction specified by the electrical signals of the respective decoded digital directional plot character for the number of incremental steps specified by said digital incremental step character; seventh circuit means in the controller receiving the last of said pulses generated by the sixth circuit means for inhibiting the generation of further pulses as a function of said last pulse; eighth circuit means in the controller receiving the decoded electrical signals corresponding to said segregated electrical signals of the digital control characters coupled to said first, second, third, fifth and sixth circuit means for enabling and disenabling at least one of said first, second, third, fifth and sixth circuit means as a function of said decoded digital control electrical signals; ninth circuit means coupled to the fourth, fifth and sixth circuit means receiving the decoded and segregated electrical digital tacking signals and the last of the pulses generated by the sixth circuit means for gating on the fifth circuit means each time the last pulse corresponds to the digital step character associated with a decoded electrical Digital tacking signal, to control the graphical plotting machine to plot in the direction specified by the corresponding digital tacking character for the last incremental step of the number of incremental steps specified by the digital incremental step character corresponding to the last mentioned digital tacking character; and tenth circuit means coupled to said fourth and sixth circuit means receiving said decoded electrical signals corresponding to the digital repeat characters and receiving said last of said pulses from the sixth circuit means for causing said sixth circuit means to repeat said train of equispaced pulses as a function of said last of said pulses, the repeat of said pulse train being a function of the number of incremental steps specified by said digital incremental step character associated with said digital repeat character.
 3. The apparatus, as defined in claim 2, wherein the tenth circuit means causing the sixth circuit means to repeat the train of equispaced pulses as a function of the last of the pulses wherein the repeat of the pulse train corresponds in number of the number of incremental steps specified by a digital incremental step character associated with the digital repeat character.
 4. Apparatus for controlling a graphical plotting machine to plot a graphical representation, comprising: a. a magnetic tape playback system including a tape coded with digital control characters, digital directional plot characters, digital incremental step characters and digital tacking characters, the digital tacking characters comprising digital directional plot and incremental step characters, collectively representing data for a plot of the graphical representation to be made, the digital characters arranged on said tape in a predetermined sequence of data blocks, each of said data blocks being identifiable by a corresponding digital block address character on said tape; b. first circuit means receiving the coded digital characters for generating electrical signals as a function of the digital characters and for incrementally advancing the electrical signals corresponding to said digital characters into a controller included in the apparatus; c. second circuit means in the controller responsive to said electrical signals generated by the first circuit means for identifying a predetermined block address; d. third circuit means in the controller receiving said electrical signals generated by the first circuit means for segregating the electrical signals corresponding to said digital control characters, said digital directional plot characters and said digital tacking characters from the electrical signals corresponding to said digital incremental step characters in the data block corresponding to the predetermined block address; e. fourth circuit means in the controller receiving the segregated electrical signals corresponding to said digital control, digital directional plot and digital tacking characters for decoding and segregating said electrical signals; f. fifth circuit means in the controller responsive to the electrical signals corresponding to the digital directional plot characters decoded by said fourth circuit means, the fifth circuit means being coupled to said graphical plotting machine for readying it to plot in the direction specified by said decoded electrical signals of the digital directional plot characters; g. sixth circuit means in the controller coupled to said fifth circuit means receiving the segregated electrical signals corresponding to said digital incremental step characters for generating, as a function of the digital incremental step characters, a train of equispaced pulses corresponding in number to the number of steps specified by each of said segregated electrical signals of each of the digital incremental step characters, said pulses gating on said fifth circuit means each time a pulse is generated so that said graphical plotting machine plots in the direction specified By the electrical signals of the respective decoded digital directional plot character for the number of incremental steps specified by said digital incremental step character; h. seventh circuit means in the controller receiving the last of said pulses generated by the sixth circuit means for inhibiting the generation of further pulses as a function of said last pulse; i. eighth circuit means in the controller receiving the decoded electrical signals corresponding to said segregated electrical signals of the digital control characters coupled to said first, second, third, fifth, and sixth circuit means for enabling and disenabling at least one of said first, second, third, fifth and sixth circuit means as a function of said decoded digital control electrical signals; and j. ninth circuit means coupled to the fourth, fifth and sixth circuit means receiving the decoded and segregated electrical digital tacking signals and the last of the pulses generated by the sixth circuit means for gating on the fifth circuit means each time the last pulse corresponds to the digital step character associated with a decoded electrical digital tacking signal, to control the graphical plotting machine to plot in the direction specified by the corresponding digital tacking character for the last incremental step of the number of incremental steps specified by the digital incremental step character corresponding to the last mentioned digital tacking character.
 5. The apparatus according to claim 4 wherein some of said digital control characters comprise digital repeat characters for each of which there is an associated digital incremental step character and wherein said fourth circuit means after decoding and segregating said electrical signals corresponding to said digital control characters, the digital directional plot characters, and the digital tacking characters further segregates and decodes said electrical signals corresponding to said digital repeat characters therefrom, said apparatus further comprising: tenth circuit means coupled to said fourth and sixth circuit means receiving said decoded electrical signals corresponding to the digital repeat characters and receiving said last of said pulses from the sixth circuit means for causing said sixth circuit means to repeat said train of equispaced pulses as a function of said last of said pulses, the repeat of said pulse train being a function of the number of incremental steps specified by said digital incremental step character associated with said digital repeat character.
 6. The apparatus, as defined in claim 5, wherein the tenth circuit means causing the sixth circuit means to repeat the train of equispaced pulses as a function of the last of the pulses wherein the repeat of the pulse train corresponds in number of the number of incremental steps specified by a digital incremental step character associated with the digital repeat character.
 7. A method of coding and arranging digital characters in a bit stream for processing by a plot controller as plot, step, tacking and control digital commands for controlling a plotter to plot a graphical representation by plotting of increments in on-line, off-line and remote environments, comprising the steps of: a. assigning a different digital character of n bit width wherein n is a positive integer in a bit stream for each of a number of plot commands for orthogonal directions +X, -X, +Y, -Y and combination directions +X+Y, +X-Y, -X+Y and -X-Y, each plot command corresponding to one of the directions; b. assigning still other digital characters of n bit width in a bit stream for each of a number of step commands, each step command corresponding to a fixed number of increments; c. coupling in a bit stream any one of the digital characters specifying a plot command to any one of the digital characters specifying a step command to produce a digital plot couplet which defines a line havIng a fixed direction and length; d. assigning still other digital characters of n bit width in a bit stream for each of a number of tacking commands, each tacking command corresponding to at least two different directions in which an increment can be plotted, the two different directions being within substantially ninety degrees of each other; e. coupling in a bit stream any one of the digital characters specifying a tacking command to any one of the digital characters specifying a step command except the digital character specifying a step of unity to produce a digital tacking couplet which defines a tacking line having at least a first fixed direction with a length which is a function of the respective step command and a second fixed direction having a length of at least one increment; f. assigning still other digital characters of n bit width in a bit stream for each of a number of control commands, each control command specifying a different capability of the plotter for producing the graphical representation; and g. arranging the digital plot couplets, the digital tacking couplets and the digital characters corresponding to the control commands in a bit stream for processing by the plot controller according to the nature of the graphical representation to be plotted and the plotter for producing the graphical representation.
 8. The method according to claim 7 which comprises before the arranging step thereof, the additional steps of: a. assigning a digital character of n bit width in a bit stream to a repeat command for coupling with other commands to repeat the coupled command; b. coupling in a bit stream the digital character specifying the repeat command to one of the digital characters specifying a step command to produce a digital repeat couplet which defines a repeat command and the number of steps it is to be repeated; and c. rearranging in a bit stream the digital couplets so that a digital repeat couplet is mated to at least one of the digital couplets to cause all such mated digital couplets to be repeated for the specified number of steps in the respective digital repeat couplet.
 9. The method according to claim 8 which comprises the additional step of coding in a bit stream the same one of one of the bits in each respective character to indicate whether a digital character specifies a plot, tacking or step command.
 10. A method of coding and arranging digital characters in a bit stream for processing by a plot controller as plot, step, repeat and control digital commands for controlling a plotter to plot a graphical representation by plotting of increments in on-line, off-line and remote environments, comprising the steps of: a. assigning a different digital character of n bit width wherein n is a positive integer in a bit stream for each of a number of plot commands for orthogonal directions +X, -X, +Y, -Y and combination directions +X+Y, +X-Y, -X+Y and -X-Y, each plot command corresponding to one of the directions; b. assigning still other digital characters of n bit width in a bit stream for each of a number of step commands, each step command corresponding to a fixed number of increments; c. coupling in a bit stream any one of the digital characters specifying a plot command to any one of the digital characters specifying a step command to produce a digital plot couplet which defines a line having a fixed direction and length; d. assigning a digital character of n bit width in a bit stream to a repeat command for coupling with other commands to repeat the coupled command; e. coupling in a bit stream the digital character specifying the repeat command to one of the digital characters specifying a step command to produce a digital repeat couplet which defines a repeat command and the number of steps it is to be repeated; f. mating in a bit stream a digital repeat couplet to at least one of thE digital plot couplets to cause all such mated digital plot couplets to be repeated for the number of steps specified in the digital repeat couplet; g. assigning still other digital characters of n bit width to each of a number of control commands, each control command specifying a different capability of the plotter for producing the graphical representation; and h. arranging the digital plot couplets, the mated digital plot couplets and the digital characters corresponding to the control commands in a bit stream for processing by the plot controller according to the nature of the graphical representation to be plotted and the plotter for producing the graphical representation.
 11. The method according to claim 10 which comprises the additional step of coding in a bit stream the same one of one of the n bits in each respective character to indicate whether a digital character specifies a plot, step or repeat command. 